Method, apparatus, and computer program for processing information

ABSTRACT

A switcher, residing in a memory, detects a connectable network when a terminal is powered on. When a network is detected, a communication unit issues a message to a processor. The processor detects whether the terminal has ever been connected to the detected network and whether the profile of the network is registered. If the processor determines that the profile of the network is registered, a connection to the network is established in accordance with the profile. If the processor determines that no profile of the network is registered, a new profile of the network is produced, and then registered. The present invention is applicable to personal computers.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method, an apparatus, and a computerprogram for processing information and, particularly, to a method, anapparatus, and a computer program for appropriate use in an apparatusconnected to a plurality of networks.

2. Description of the Related Art

Computers having a size appropriate for portable use are now findingwidespread use. Such computers are called mobile computers. Connectionsto the Internet are conventionally performed using wire. As wirelesslocal area networks (LAN) are in widespread use, both wired connectionto networks and wireless connection to networks become used.

Wireless LANs are installed anywhere in urban areas, for example, infastfood stores to provide hotspot service, in which people enjoyswireless LAN connections. For example, a user, who uses a mobilecomputer, may establish a link to a network through a wireless LAN athome, may establish a link to the network through a wired LAN in acompany office, and then may establish a link to the network through awireless LAN available in the hotspot service.

The mobile computer, which is easily connected to different networksunder different environments, must have the settings different fromnetwork to network. Depending on location, the user sets an appropriateconnection destination, and needs to switch connection destinations ofnetwork. Since the setting and switching operations are inconvenient, atechnique of using a simple operation to switch the networks has beenproposed, for example, as disclosed in Japanese Unexamined PatentApplication Publication No. 2000-311080 and Internet support software“Internet Kaisokubin Ver. 2.1” supplied by SHARP CORPORATION.

The same mobile computer is typically used under a plurality of networkenvironments. The user must manually switch the network connectionsetting thereof (hereinafter also referred to as a profile). To switchthe network connection setting, the user must recognize and memorizeeach profile.

Networks based on wireless technology such as wireless LAN and Bluetoothare now in widespread use. Under an environment, a connection to thenetwork based on the wireless technology may be automaticallyestablished without user intervention. In other words, the user'sterminal is connected to a network without the user being aware ofconnection if the user enters an area of a wireless network. The userhas difficulty in manually setting a connection to a desired network.

The wireless networks and the wired networks currently coexist, and aplurality of access points to a plurality of networks may be close toeach other. Under such a situation, the user has difficulty inrecognizing whether a plurality of connections are established, whatnetwork the user's terminal is currently connected to, and what networkis currently used for communication.

The cited references suffers from this drawback.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the present invention to a method, anapparatus, and a computer program for switching from network to networkwithout any manual operation by the user.

The present invention in one aspect relates to an information processingapparatus having an interface for connection with networks and includesa managing unit for managing settings for the networks as profiles on anetwork by network basis, a detecting unit for detecting a firstconnection to the network, a determination unit for determining whetherthe managing unit manages the profile corresponding to the detectednetwork when the detecting unit has detected the first connection to thenetwork, and

-   -   an establishing unit for establishing a second connection to the        network based on the managed profile if the determination unit        determines that the managing unit manages the profile        corresponding to the network.

The detecting unit may detect the first connection to the network bydetermining whether or not a routing table is modified.

The detecting unit may detect, as the first connection, a connection toa gateway that manages the network, the determination unit may determinewhether the managing unit manages the profile relating to the gateway,and the establishing unit establishes the second connection to thenetwork in accordance with the profile relating to the gateway.

Preferably, the information processing apparatus further includes acounter for counting up by one when the detecting unit detects the firstconnection to the network, and a zero determination unit that determineswhether the subtracting of one from the count of the counter makes zerowhen the detecting unit detects the first connection to the network,wherein the zero determination unit determines whether the managing unitmanages the profile relating to the network detected by the detectingunit when the zero determination unit determines that the subtracting ofone from the count of the counter makes zero.

Using at least one of an SSID, an MAC address, an IP address, and aconnection name the user provides the network with, the determinationunit may determine whether the managing unit manages the profile,relating to the network detected by the detecting unit.

If the interface is one of a wired LAN interface and a wireless LANinterface, the first connection is a connection to a gateway thatmanages the network, and the second connection is a connection toanother apparatus through the gateway, and if the interface is a modem,the first connection is a connection to an ISP, and the secondconnection is a connection to another apparatus through the ISP.

Preferably, the information processing apparatus further includes astarter unit which starts a predetermined software set by a user whenthe second connection to the network is established by the establishingunit.

The present invention in another aspect relates to an informationprocessing method for an information processing apparatus having aninterface for connection with networks, and includes a managing step formanaging settings for the networks as profiles on a network by networkbasis, a detecting step for detecting a first connection to the network,a determination step for determining whether the profile correspondingto the detected network is managed in the managing step when the firstconnection to the network has been detected in the detecting step, andan establishing step for establishing a second connection to the networkbased on the managed profile if the determination step determines thatthe profile corresponding to the network is managed in the managingstep.

The present invention in yet another aspect relates to a computerprogram for a computer for controlling an information processingapparatus having an interface for connection with networks, the computerprogram comprising computer executable codes for performing a managingstep for managing settings for the networks as profiles on a network bynetwork basis, a detecting step for detecting a first connection to thenetwork, a determination step for determining whether the profilecorresponding to the detected network is managed in the managing stepwhen the first connection to the network has been detected in thedetecting step, and an establishing step for establishing a secondconnection to the network based on the managed profile if thedetermination step determines that the profile corresponding to thenetwork is managed in the managing step.

In accordance with the apparatus, the method, and the computer programof the present invention, it is determined whether a profile of anetwork is present among profiles produced beforehand when a networkconnection is detected. If the profile of the network is found, theconnection to the network is established in accordance with the profile.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a network that implements the present invention;

FIG. 2 is a block diagram illustrating the internal structure of aterminal;

FIG. 3 illustrates a configuration of a started software;

FIG. 4 illustrates the display of icons when a switcher resides;

FIG. 5 illustrates the internal structure of the switcher;

FIG. 6 is a flow diagram illustrating a process of the switcher;

FIG. 7 is a flow diagram illustrating a process for monitoringconnections of networks;

FIG. 8 is a flow diagram illustrating a process for determining networkconnection switching;

FIG. 9 is a flow diagram illustrating a movement of a terminal from onenetwork to another;

FIG. 10 is a flow diagram illustrating in detail a process of a check 1;

FIG. 11 is a routing table;

FIG. 12 is a flow diagram illustrating in detail a process of a check 2;

FIG. 13 is a flow diagram illustrating in detail a selection process;

FIG. 14 specifically illustrates a profile;

FIG. 15 specifically illustrates the profile;

FIG. 16 specifically illustrates the profile;

FIG. 17 specifically illustrates the profile;

FIG. 18 specifically illustrates the profile;

FIG. 19 specifically illustrates the profile;

FIG. 20 is a flow diagram illustrating in detail a network switchingprocess;

FIG. 21 is a flow diagram illustrating in detail a process for producinga new profile;

FIG. 22 illustrates an example of a screen presented on a display;

FIG. 23 illustrates an example of the screen presented on the display;

FIG. 24 illustrates an example of the screen presented on the display;

FIG. 25 illustrates an example of the screen presented on the display;

FIG. 26 illustrates an example of the screen presented on the display;

FIG. 27 illustrates an example of the screen presented on the display;

FIG. 28 illustrates an example of the screen presented on the display;

FIG. 29 illustrates an example of the screen presented on the display;and

FIG. 30 illustrates an example of the screen presented on the display.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments of the present invention are discussed with reference tothe drawings. FIG. 1 illustrates a communication environment in which aterminal 10 (see FIG. 2) is used as an information processing apparatusimplementing the present invention. The portable terminal 10 used by theuser is referred to as a mobile computer. The user carries the terminal10 for use at various locations such as home, a company office, and astore such as a fastfood store, and connects the terminal 10 to anetwork to perform a predetermined process.

A network 2-1 equipped with a gateway 1-1 is organized at home.Likewise, a network 2-2 equipped with a gateway 1-2 is organized in acompany office, and a network 2-3 equipped with a gateway 1-3 isorganized in a store. The networks 2-1 through 2-3 are mutuallyconnected through the gateways 1-1 through 1-3. In the discussion thatfollows, each of the gateways 1-1 through 1-3 is simply represented by agateway 1 if there is no need for discriminating between the gateways1-1 through 1-3. The same is true of the numeric reference numbers ofthe remaining elements.

The gateway 1 connects a computer to a public telephone line or connectsa LAN to the public telephone line when a plurality of computers(terminals) are interconnected to the LAN. The gateway 1 uses amini-computer, and is also referred to as a gateway processor. Alarge-scale gateway is not required when a computer is connected to aterminal through the public telephone line. To perform anetwork-to-network communication, the gateway 1 must controlcommunication rate, communication traffic, and convert addresses of thecomputer from network to network. The gateway 1 having a throughput of amini-computer level is thus required.

A network 2 performs communications using a wired LAN, a wireless LAN,or a modem.

FIG. 2 is a block diagram illustrating the internal structure of theterminal 10 carried by the user. A central processing unit (CPU) 11 ofthe terminal 10 performs various processes in accordance with a programstored in a read-only memory (ROM) 12. A random access memory (RAM) 13stores data and programs which are required when the CPU 11 performs avariety of processes. An input unit 16 including a keyboard and a mouseis connected to an input/output interface 15, which transfers a signalinput to the input unit 16 to the CPU 11. The input/output interface 15is also connected to an output unit 17 including a display and aloudspeaker.

Also connected to the input/output interface 15 is a storage 18including a hard disk. The input/output interface 15 is connected toeach of a wireless LAN interface 19, a wired LAN interface 20, and amodem 21. Also connected to the input/output interface 15 is a drive 22that is used to read data from and write data to a recording medium suchas a magnetic disk 31, an optical disk 32, a magnetooptical disk 33, ora semiconductor memory 34. An operation performed by the terminal 10will now be discussed. The terminal 10 performs a connection process tothe network 2 shown in FIG. 1 without user intervention. By“automatically” used in the following discussion is meant that theprocess of the terminal 10 is performed without user intervention. Theword “automatically” does not mean that the terminal 10 stands stillwith no action taken at all.

In the discussion that follows, a “connection” to a network is performedin two phase communications, namely, first phase communication andsecond phase communication. In the first phase communication, theterminal 10 exchanges data with the gateway 1 (or exchange data with aserver of a Internet service provider (ISP) which is located beyond thegateway 1), and in the second phase communication, the terminal 10freely exchanges data at will over a network subsequent to processessuch as an authentication process.

In other words, for example, the first phase communication refers to astate in which the terminal 10 detects a service of a wireless LAN whenthe terminal 10 enters a radiowave coverage area of the service providedby the wireless LAN. The second phase connection refers to a state inwhich the terminal 10 uses the service after being permitted to use theservice as a result of an authentication process.

A process of transitioning from the first phase connection to the secondphase connection will now be discussed.

The terminal 10 has a program to automatically switch the connectionbetween different networks 2. That program is stored in the storage 18,and is expanded onto the RAM 13 as necessary. The CPU 11 performs anetwork connection switching process to the network 2 under the controlof the program expanded in the RAM 13. FIG. 3 is a functional blockdiagram illustrating the function of the program expanded onto the RAM13.

The program expanded in the RAM 13 includes a switcher 51 and a profilemanager 52. The storage 18 stores a profile 53 that is produced by theprofile manager 52 and read as necessary.

The switcher 51, residing in the terminal 10, detects a switching of theconnected network 2. Upon detecting the switching of the connectednetwork 2, the switcher 51 determines whether a profile 53 relating to adetected network 2 is present among profiles 53 stored in the storage18.

In response to a command from the switcher 51, the profile manager 52performs a network switching process in accordance with the profile 53,produces a profile 53 of a network if the network is new, and stores theproduced profile 53 in the storage 18.

The switcher 51, residing in the terminal 10 throughout a power onperiod, starts up the profile manager 52 as necessary. The on state ofthe terminal 10 includes a suspension state of the terminal 10. Theresidence of the switcher 51 may be stopped by the user.

While the switcher 51 resides in the terminal 10, an icon shown in FIG.4 appears on a display 61 as an output unit 17. For example, a task tray71 is presented on the bottom right of the display 61 when the terminal10 is powered on. An icon relating to a then active software appears onthe task tray 71. Since the switcher 51 is active as shown in FIG. 4, anicon 72 of the switcher 51 is also presented on the task tray 71.

Since the icon 72 of the switcher 51 is presented on the task tray 71,the user recognizes that the switcher 51 is active (resides). As will bediscussed later, the setting of the switcher 51 and the profile manager52 and the production of a new profile 53 may be performed bymanipulating the icon 72.

An operation of the switcher 51 in the residing state thereof isdiscussed below. FIG. 5 illustrates in detail the internal structure ofthe switcher 51. The switcher 51 includes a notifier 91 that detects anew network 2 when the new network 2 is connected (when the network 2 asa connection destination is changed). Upon detecting the connection tothe network 2, the notifier 91 notifies a processor 94 of the detectionusing a message 92. The notifier 91 also notifies a counter 93 of theconnection to the network 2.

The counter 93 counts the number of connections to the networks 2. Theprocessor 94 uses the resulting count to perform a process to bediscussed later. When the connection to the network 2 is detected, theprocessor 94 determines whether or not to switch to the detected network2. If the processor 94 determines that the connection should be switchedto the detected network 2, the processor 94 instructs the profilemanager 52 to switch to the network 2.

FIG. 6 is a flow diagram illustrating a process of the switcher 51having the structure illustrated in FIG. 5. In step S11, the switcher 51starts monitoring connections. The monitoring process of the switcher 51starts at the moment the switcher 51 starts residing in the terminal 10.

FIG. 7 is a flow diagram illustrating a process for monitoringconnections of networks 2 performed in step S11. In step S31, aninitialization is performed. The initialization is performed at themoment the switcher 51 starts residing in the terminal 10. For example,the count of the counter 93 (see FIG. 5) is reset to zero in theinitialization in step S31.

In step S32, a setting is performed to an operating system (OS). The OSmay be Windows XP (Trademark of the Microsoft Corporation). The settingto the OS performed in step S32 is a process of notifying the OS of achange (NotifyRouteChange) if there is a change in a routing table. Therouting table is a file in which the optimum path for packettransmission in a packet exchange network is listed.

The routing table is updated each time the setting of the network ischanged. The routing table is thus used to detect any change in thenetwork.

The change in the network includes changing the type of network, forexample, switching from a wired LAN to a wireless LAN. The interfacesconnected to the network are also changed. Also contemplated isswitching from one network to another network having a different gatewayalthough the network remains unchanged from the same wireless LAN type.A change takes place in portions other than the interfaces.

The updating of the network may be detected by detecting the switchingof the interfaces, and thus the network update is detected without usingthe routing table. For example, an actually connected one of the networkinterfaces of the terminal 10 shown in FIG. 2 is detected. Specifically,one of the wireless LAN interface 19, the wired LAN interface 20, andthe modem 21 actually connected to the network 2 (see FIG. 1) isdetected to determine whether an interface switching has been actuallyperformed. This determination may be executed by polling the interfaces.

Another method is contemplated in which the change of a driver of anetwork interface is reported. The determination of the networkswitching is made in response to the report of the change of the driver.In yet another method, a flow of packets is monitored at the level ofthe transmission control protocol/Internet protocol (TCP/IP).

Each of the polling method, the driver change method, and the method ofmonitoring the packet is difficult to implement in the actual system interms of circuit mounting thereof. In contrast, the method of using therouting table uses the currently used routing table, and it isrelatively easy to implement the method in terms of the circuit mountingthereof.

The use of the routing table provides the following advantages.

Even when the terminal 10 has a plurality of network interfacesconnected to a plurality of networks (such as a wired LAN and a wirelessLAN), only one of the networks actually transmits and receives packets.The number of network interfaces in use is also one, and the networkinterfaces other then the one in use do not exchange packets. Whatnetwork interface is used depends on the type of the network interfaceand the order according to which the network interface is connected tothe network.

The routing table contains information as to what network interface isused, and what network the terminal 10 is connected to. Using therouting table, the change of the network is exactly detected.

Regardless of when the terminal 10 is connected to a plurality ofnetworks (for example, when a plurality of wireless LANs are connectablebecause the plurality of wireless LANs are organized in proximitythereto, or when a wireless LAN and a wired LAN are connected), or whenthe terminal 10 is connected to a single network only, the use of therouting table allows the network actually exchanging packets to beidentified in a similar method.

The timing of updating the routing table is considered as a timing atwhich the terminal 10 switches from a network to a next network. It isthus possible to detect the switching (changing) of the network on areal-time basis.

The network switching is determined using the routing table in thefollowing embodiments.

Returning to the flow diagram illustrated in FIG. 7, the switcher 51performs, in step S32, a setting to cause the OS to report a change inthe routing table (the setting to issue a signal) if the change is addedto the routing table. In step S33, the switcher 51 starts to determiningwhether the signal is received.

The switcher 51 waits on standby in step S33 until the signal isreceived. If the switcher 51 determines in step S33 that the signal isreceived, the message 92 (see FIG. 5) is sent to the processor 94 instep S34.

When the network switching is detected and when the message 92 is sent,the switcher 51 loops to step S32 to repeat the steps subsequentthereto. The detection of the network switching is continuouslyperformed (the monitoring process continues).

While the monitoring process for monitoring the network switching isperformed, the switcher 51 sets the counter in step S12 (see FIG. 6).More specifically, the switcher 51 issues a command to instruct thecounter 93 to increment the count thereof by one while detecting thenetwork switching and sending the message 92. In response to thecommand, the counter 93 increments the count thereof by one.

When the count of the counter 93 is incremented by one, the switcher 51determines in step S13 whether or not to switch the network. FIG. 8 is aflow diagram illustrating a process for determining network switching instep S13. The determination of the network switching is performed by theprocessor 94 (see FIG. 5) which receives the message 92.

In step S51, the processor 94 decrements the count of the counter 93 byone. In step S52, the processor 94 determines whether the decrementingof the count by one results in zero (whether the count is zero). StepsS51 and S52 are performed for the following reason.

FIG. 9 shows networks 2A through 2C, each of which is a wireless LAN. Itis assumed that a coverage area of the network 2A (represented by anellipse encircling the network 2A) overlaps neither a coverage area ofthe network 2B nor a coverage area of the network 2C.

However, the coverage area of the network 2B overlaps the coverage areaof the network 2C. In this arrangement, the terminal 10 has moved intoan overlap of the coverage area of the network 2B and the coverage areaof the network 2C from the coverage area of the network 2A.

There is no limitation on the order of connection switching. It iscontemplated that the connection of the terminal 10 is shifted from thenetwork 2A to the network 2B, and then from the network 2B to thenetwork 2C. Two network switching operations are consecutivelyperformed. The switcher 51 detects the two consecutive network switchingoperations.

Upon detecting a network switching operation, the switcher 51 switchesthe connection to the detected network as will be discussed later. Inthis case, the connection switching is performed twice consecutively.However, the connection to one of the network 2B and the network 2C issufficient, and the connection to the other is unnecessary.

If the two connection switching operations are performed consecutively,in other words, if the process of consecutive connection switchingoperations is set to be permitted, the switching process is frequentlymade. The workload imposed on the terminal 10 becomes large. Thefrequent network switching processes are problematic in terms ofreliability of network connection.

Steps S51 and S52 are carried out in view of this drawback. Referring toFIG. 9, the network connection switching is detected consecutively, andthe message 92 is sent consecutively. The count of the counter 93 isincremented consecutively.

The process performed in steps S51 and S52 is discussed again withreference to FIG. 9. When the terminal 10 shifts from the network 2A tothe network 2B, the message 92 is first sent, causing the counter 93 toset 1 thereon. When the terminal 10 shifts from the network 2B to thenetwork 2C, the message 92 is sent, causing the counter 93 to incrementthe count by 1 to 2.

When the process in step S51 is performed with the count of the counter93 being at 2, the count becomes 1. When the process in step S52 isperformed, the switcher 51 determines that the count is not zero. Theprocess in step S51 is performed again, thereby setting the count to bezero. When the process in step S52 is performed, the processor 94determines that the count is zero, and then the algorithm proceeds tostep S53.

The algorithm does not proceed to subsequent steps until the processor94 determines in step S52 that the count is zero. Even if the terminal10 is shifted consecutively from network to network, only the processrequired to connect to the network as a final connection is executed.This arrangement reduces the workload on the terminal 10, and improvesthe reliability of the network connection.

Returning to the explanation of the flow diagram illustrated in FIG. 8,the algorithm proceeds to step S53 if the processor 94 determines instep S53 that the count is zero. The process of check 1 is performed.FIG. 10 is a flow diagram illustrating in detail the process of thecheck 1 performed in step S53.

In step S71, an up-to-date routing table is acquired. The up-to-daterouting table is the one valid at the moment the process of the check 1is performed. At the moment the process is performed, the routing tablecontains a routing description to a new destination.

Immediately prior to the acquisition of the up-to-date routing table instep S71, the routing table relating to the network connected prior tothe network switching was acquired prior to the storage of the routingdescription to the new destination. This routing table is now referredto as an immediately prior routing table. The immediately prior routingtable had been acquired before the issue of the message 92 (namely,before the detection of the change of the network). For example, theimmediately prior routing table is acquired in the initialization instep S31 (see FIG. 7), and held in the processor 94.

A specific example of the routing table acquired in step S71 is shown inFIG. 11. Numbers on the leftmost column in the routing table are listedfor explanation only, and are not contained in the actual routing table.

The routing table lists destinations, netmasks, gateways, interfaces,and metrics. Destination information “0.0.0.0.” on a first row and asecond row represents a gateway 1 used to connect to an externalnetwork.

The routing table shown in FIG. 11 shows that two gateways 1 arepresent. The terminal 10 is connectable with two networks through twonetwork interfaces.

The routing table shown in FIG. 11 will now be referenced in thefollowing discussion as necessary. Returning to a flow diagram shown inFIG. 10, the processor 94 determines in step S72 whether or not thegateway 1 is present after the routing table is acquired in step S71 asshown in FIG. 11. As already discussed, this determination is performedreferencing the destination information in the routing table. Morespecifically, the processor 94 determines whether there is destinationinformation of “0.0.0.0”.

If the processor 94 determines in step S72 that there is the gateway 1,the algorithm proceeds to step S73. The processor 94 determines whetheror not there are a plurality of pieces of the destination information of“0.0.0.0”. More specifically, the processor 94 determines whether theterminal 10 is connectable with a plurality of gateways 1. The processor94 determines, based on the routing table illustrated in FIG. 11, thatthere are a plurality of pieces of destination information of “0.0.0.0”,and proceeds to step S74.

In step S74, a minimum of metric is extracted. Information relating tothe metric is also contained in the routing table illustrated in FIG.11. If the OS is Windows (tradename), a network and a network interfaceconnected thereto having a smaller metric value have higher priorityover those having a larger metric value. In other words, a smallermetric value has a higher priority over a larger metric value.

The wired LAN has a smaller metric value than the wireless LAN in astandard OS level. Optionally, the priority setting may be left to theuser's choice.

Referring to FIG. 11, the routing table lists two pieces of thedestination information of “0.0.0.0” determined as being gateways 1. Themetric value of the gateway 1 at the first row is “20,” and the metricvalue of the gateway 1 at the second row is “30.” The gateway 1described at the first row is thus extracted in step S74.

When the gateway 1 having the minimum metric value is extracted in stepS74, the algorithm proceeds to step S75. In step S75, the networkdestination having the smallest extracted metric value is set as adefault route. The route through the gateway 1 at the first row in therouting table illustrated in FIG. 11 is set as a default route.

The process in step S75 is also reached if the switcher 51 determines instep S73 that there are no plurality of pieces of destinationinformation of “0.0.0.0.” In this case, there is only one gateway 1. Ifthe algorithm proceeds from step S73 to step S75, the route through thegateway 1 with no other same gateway present is set as a default route.

In step S76, the processor 94 determines whether the information aboutthe gateway 1 described in the immediately prior routing table held inthe processor 94 (the information relating to the route to the gateway 1prior to the network switching) is identical to the default routeinformation set in step S75 (the information of the route to the gateway1 identified in the up-to-date routing table).

The process in step S76 is performed for the following reason. Theexecution of the process in step S76 means that a change of the networkis detected in a prior step. The connection to the network may berepeatedly made or broken. A change of the network may be erraticallydetected during such an unstable connection period, although the networkis not changed in fact (with the same network connected in an on and offfashion).

The process in step S76 is performed to determine whether or not thenetwork has been actually changed.

The process in step S76 is taken if the processor 94 determines in stepS72 that no gateway 1 is present. For example, when a local networkunconnected to an external network needs no gateway 1, the processor 94may determine that no gateway 1 is present.

A server having a function such as a dynamic host configuration protocol(DHCP) may not be contained in the network 2. Since the processor 94 canacquire no information about the gateway 1 in the network 2, theprocessor 94 may determines that no gateway 1 is present.

In a point-to-point connection such as one of a connection in compliancewith the IEEE 1394 standards, a serial connection, and a parallelconnection, and in a point-to-point connection in a wireless LAN, theprocessor 94 may also determine that no gateway 1 is present.

When the terminal 10 is placed in such a network 2, the user may use aparticular apparatus such as a personal computer (PC) in the network 2as an information source to identify the network 2.

The user may designate and store an IP address, an MAC address, and ahost name of any PC present in the network 2 as the profile 53 toidentify the network 2 from which the address of the gateway 1 cannot beacquired. These pieces of information may be used to identify thenetwork 2 containing no gateway 1.

Returning to the flow diagram illustrated in FIG. 10, theabove-referenced information is acquired from the routing table acquiredin step S72 if the processor 94 determines in step S71 that no gateway 1is present. The process in step S76 is performed using the acquiredinformation.

An affirmative answer to the determination in step S76 means that thenetwork 2 is not changed as a connection destination, and a process forswitching the network 2 is not required. The processor 94 ends theprocess without performing a subsequent process relating to theswitching of the network 2.

A non-affirmative answer to the determination in step S76 means that thenetwork 2 is changed as a connection destination, and the processor 94continuously performs the process relating to the switching of thenetwork 2. The algorithm proceeds to step S54 (see FIG. 8) to executethe process of a check 2. FIG. 12 is a flow diagram illustrating indetail the process of the check 2 performed in step S54.

In the process of the check 2, the default information set in the check1 process is used to define, more in detail, information relating to thegateway 1 as a default route. The information to be used in definitionincludes a media access control (MAC) address of the gateway 1 and an IPaddress of the gateway 1.

The MAC address is a physical address unique to a network card. The MACaddress is 6 bytes long in an Ethernet (tradename). Leading 3 bytes as avendor code are defined and managed in the IEEE standards. The remaining3 bytes are managed by a vendor itself (without any duplication). AllEthernet interfaces are different, and there is no other Ethernetinterface having the same physical address worldwide. In the Ethernet,data exchange is performed using the MAC address.

In step S91, the processor 94 acquires information relating to the typeof an interface connected to the gateway 1 set as a default route.Available as interfaces as shown in FIG. 2 are the wireless LANinterface 19, the wired LAN interface 20, and the modem 21. In step S91,the processor 94 acquires information identifying which of theseinterfaces is connected to the gateway 1.

The information relating to the type of interface is acquired as a reply(InterfaceIndex) from the OS when a command is input to the OS. Theprocessor 94 (see FIG. 5) identifies the type of the interface byacquiring the index.

Based on the acquired index, the processor 94 determines in step S92whether the interface connected to the network 2 is an Ether type suchas the wireless LAN interface 19 or the wired LAN interface 20. If theprocessor 94 determines that the interface is an Ether type, theprocessor 94 then determines in step S93 whether the interface is awireless LAN or a wired LAN.

To identify the interface, a global unique ID (GUID) is acquired. TheGUID is a unique value worldwide. In the Windows (trandename)environments, a class ID of an object is a 125-bit GUID with noduplication in other objects. Available as methods for generating such avalue are a calculation method, and another method which uses acombination of an MAC address of the Ethernet interface (such as thewireless LAN interface 19 or the wired LAN interface 20) and date andtime at which the MAC address is generated.

When the interface is identified using the GUID, the processor 94determines in step S94 in accordance with the identification resultwhether or not the identified interface is the wireless LAN interface19. If the processor 94 determines in step S94 that the identifiedinterface is the wireless LAN interface 19, the algorithm proceeds tostep S94 to acquire an service set identification (SSID).

The SSID is an identification number used to identify a communicationpartner in the wireless LAN. Apparatuses communicating each other usethe SSID as a password to authenticate each other. Communicationpartners are unable to communicate each other without a match of thepassword. In step S95, the connected interface (the wireless LANinterface 19 in this case) acquires the SSID of the connected gateway 1,and the processor 94 receives the acquired SSID.

Upon receiving the SSID, the processor 94 acquires the SSID, the IPaddress and the MAC address of the gateway 1 connected at this point oftime. These pieces of information are held in step S96.

If the processor 94 determines in step S94 that the identified interfaceis not the wireless LAN interface 19, in other words, if the processor94 determines that the identified interface is the wired LAN interface20, the algorithm proceeds to step S97. Since the wired LAN interface 20requires no SSID, the process for acquiring the SSID is not required.The IP address and the MAC address of the gateway 1 are already acquiredat the process in step S97. The processor 94 holds the acquired IPaddress and MAC address.

If the processor 94 determines in step S92 that the type of theinterface connected to the network 2 is not an Ether type, the algorithmproceeds to step S98. The interface is identified in step S98. Theinterface is identified as being the modem 21 or an interface (of theIEEE 1394 standards, for example) to be connected to a particularpersonal computer, although not shown in FIG. 2. When the interface isidentified, a connection name of a remote access service (RAS) isacquired in step S99.

The connection name is discussed here. The user typically contracts witha predetermined Internet service provider (ISP) when the modem 21 isused for communication. If the user contracts with the ISP, informationrequired to connect to the server of the ISP, including the IP address,the MAC address, and a telephone number, is set, and held in theterminal 10. The user manages the information held in the terminal 10,such as a provider name (So-net (tradename), for example), in a mannerthat uniquely identifies the information. The name used to manage theinformation is referred to the connection name.

The connection name (host name) of the interface to be connected to aparticular apparatus may be provided by the user. Managed by theconnection name are an IP address and an MAC address of a particularapparatus.

When the connection name is acquired, the IP address and the MAC addressof the gateway 1 or the particular apparatus are acquired. Theinformation such as these addresses is held in the processor 94 in stepS100.

The information relating to the gateway 1 is acquired based on the typeof the interface connected to the gateway 1 and is then held. Theinformation, which is held in the processor 94 through the process ofthe check 2 illustrated in FIG. 12, is discussed again. The acquiredinformation includes the MAC address (referred to as information 1), theIP address (referred to as information 2), the SSID (referred to asinformation 3), and the connection name (information 4) of the gateway 1in the network 2.

When the connection is established with the gateway 1 through the wiredLAN interface 20, information 1 through 3 is acquired. When theconnection is established with the gateway 1 through the wireless LANinterface 19, the information 1 and 2 is acquired. When the connectionis established with the gateway 1 through the modem 21, the information1, 2, and 4 is acquired. Depending on the type of the interfaceconnected to the gateway 1, the type of the interface becomes different.

The information 1 and 2 is acquired regardless of the interface type.More specifically, the MAC address and the IP address of the gateway 1are acquired. The MAC address and the IP address of the gateway 1 arediscussed further.

Since one gateway 1 is typically present in one network 2, the MACaddress and the IP address may be used to identify the network. Which ofthe MAC address and the IP address to use to identify the network is aconcern.

For example, when an asymmetric digital subscriber line (ADSL) modem(having a router function) is used at home, a default IP address of agateway (attached at the manufacture thereof) is typically set to be thesame address, for example, “129.168.0.1.”

In a network installed in a predetermined area such as a corporateoffice, a private IP address “192.168.x.x” is assigned to users on agroup by group basis, such as on a floor by floor basis, on a businessby business basis in an internal LAN. The user assigns the IP addressrelatively freely.

In view of such a situation, the same IP address can be commonly used bydifferent networks 2. The IP address alone is unable to uniquelyidentify (recognize) the gateway 1.

The use of the MAC address is better to identify the gateway 1. The MACaddress, which is a unique ID as already discussed, is able to uniquelyidentify the gateway 1.

The user may desire to identify two physically different networks 2 asthe same network 2. For example, the same company currently uses IPaddresses different from floor to floor in the same building. The usermay use the same IP address to identify the two physically differentnetworks 2 as the same network 2.

The SSID is an ID to be used in the wireless LAN. As the IP address isnot appropriate, the SSID is not appropriate either for use asinformation to uniquely identify the gateway 1 (the network 2). The SSIDmay be used to treat different networks 2 as the same network 2.

For example, with the same SSID, wireless LANs in respective floors inthe same company building may have the same setting. The terminal 10remains connected to the wireless LANs without changing the setting. Ifa group of stores which provides a hotspot service has the same SSID,the user may enjoy the same service with the same setting among thestores. Each of the stores provides the same service.

The “connection name” during the modem connection is uniquely providedby the user on the terminal 10. The network 2 is thus uniquelyidentified by designating the connection name.

Each item of information acquired and held in the process represented bythe flow diagram in FIG. 12 has its own feature, which is considered inthe following process.

Returning to the flow diagram in FIG. 12, one of steps S96, S97, and S10is performed, and information such as the addresses is acquired andheld. The processor 94 then returns to step S55 (see FIG. 8).

The processor 94 performs a selection process in step S55. Up until now,the information relating to the then connected network 2, namely, theinformation relating to the gateway 1 has been acquired. The informationalone acquired up until now is unable to establish the connection foractually exchanging data (the connection to enjoy the service providedover the network 2).

For example, when a communication is in progress through the modem 21,the server of the ISP performs an authentication process as to whetherthe terminal 10 having the modem 21 is the terminal 10 contracting withthe ISP subsequent to the establishment of the connection to the gateway1 (subsequent to the first phase connection). The authentication processrequires information such as a password. Without inputting the password(without transmitting the password to the ISP), data exchange over thenetwork 2 cannot be started.

To proceed to the connection to the network 2 for data exchange (to theestablishment of the second phase connection), the processor 94 must notonly identify the then connected gateway 1, but also determine whatnetwork 2 the gateway 1 is arranged in, and determine and acquire whatinformation is required to reach the connection.

If the terminal 10 was once connected to the network 2 in the past, thenif the network 2 is already registered in the terminal 10 in response toan instruction of the user, the information required to reach the secondphase connection is held in the profile 53 (see FIG. 3). The profile 53includes information of a plurality of registered networks 2 and datacorresponding thereto. It is necessary to identify the network 2connected at this point of process, and select appropriate data. Thisprocess is the selection process to be performed in step S55.

FIG. 13 is a flow diagram illustrating in detail the selection processto be performed in step S55. In step S111, the processor 94 reads andlists the profile 53 (see FIG. 3) stored in the storage 18. The profile53 will now be specifically discussed.

FIGS. 14 through 19 illustrate specific examples of the profile 53. Theprofile 53 shown in FIGS. 14 through 19 contains information relating tothree networks 2. Three pieces of information relating to the threenetworks 2 are respectively referred to as a profile A, a profile B, anda profile C. The profile 53 shown in FIGS. 14 through 19 are dividedinto a plurality of blocks by border lines. In practice, there are nosuch border lines in the profile 53. The blocks do not exist and areused for convenience of explanation only.

The profile 53 is first discussed briefly and specifically. The profile53 will be discussed in detail later together with a status under whichthe profile 53 is used, and a process of generating the profile 53.

Information representing a start of the profile 53 is provided in ablock 101 as a leading section of the profile 53 (see FIG. 14). A block102 describes a version of the profile A that follows. Blocks 103through 107 contains information relating to the profile A.

The block 103 contains information such as a name of the profile A (thename of the network 2) named by the user. The block 104 containsinformation relating to a program starting subsequent to theestablishment of connection to the network 2 indicated in the profile A.

The block 105 of the profile (see FIG. 15) contains the MAC address andthe IP address of the gateway 1 in the network 2. The block 106 containsinformation relating to the setting of a proxy in the Internet. Theblock 107 (see FIG. 16) contains information relating to thecommunication by the modem.

The profile B is composed of blocks 108 through 113. The profile C iscomposed of blocks 114 through 119. The basic structure of each of theprofiles B and C is identical to that of the profile A. Informationcontained therewithin is different from profile to profile.

The block 120 (see FIG. 19) contains information representing the end ofthe profile 53.

The profile 53 is read and listed in step S111. In the listing of theprofile 53, information (blocks) required to perform step S112 andsubsequent steps is extracted from the profile 53 shown in FIGS. 14through 19 and is then listed. Although a listed profile 53 is used instep S112 and subsequent steps, the profile 53 shown in FIGS. 14 through19, as a source of the listed profile 53, is essentially used, and theprofile 53 shown in FIGS. 14 through 19 is thus referenced asappropriate in the discussion that follows.

The processor 94 determines in step S112 whether information such as theIP address finally held in the process of the check 2 is the onerelating to the modem 21. This determination is performed using theresult of the process of the check 2. More specifically, when it isdetermined that InterfaceType is RAS, the processor 94 determines instep S112 that the held information relates to the modem 21.

If the processor 94 in step S112 determines that the held informationdoes not relate to the modem 21, the algorithm proceeds to step S113.The processor 94 determines in step S113 whether the held informationrelates to the wireless LAN interface 19. This determination is alsoperformed by determining whether InterfaceType performed in the processof the check 2 relates to the wireless LAN.

If the processor 94 determines in step S113 that the held informationdoes not relate to the wireless LAN, the algorithm proceeds to stepS114. If the held information does not relate to the modem nor thewireless LAN, the processor 94 determines that the held informationrelates to one of the wired LAN and the particular PC. In any case, theMAC address is held.

The processor 94 determines in step S114 whether the MAC addresscontained in the held information matches one in the listing generatedin step S111. The MAC address is described in the block 105, the block111, and the block 117 of the profile 53 shown in FIGS. 14 through 19.

The block 105, the block 111, and the block 117 contain informationrelating to the network managed by the profile A, information relatingto the network managed by the profile B, and information relating to thenetwork managed by the profile C. In the discussion that follows, theblocks of the profile A also represents those of the profile B and theprofile B because the information described in the profile A, theinformation described in the profile B, and the information described inthe profile C are substantially identical to each other.

The block 105 of the profile A contains the information relating to thenetwork of the profile A. Specifically, a name of an interface device isdescribed at an <ifName> row. The name of the interface device isbasically managed by the OS. In the example shown in FIG. 15, the nameof the interface device is “Wireless LAN interface.”

The <ifName> row is followed by an <SSID> row. For the wireless LAN, aspecific SSID value is described. As shown in FIG. 15, a specific SSIDvalue is “1234.” The block 111 of the profile B shown in FIG. 16describes no SSID value because the profile B is not for the wirelessLAN (the information on the row right above indicates a wired LAN).

Described at a next row <idPcName> in succession to the SSID informationis a name of an apparatus expressed as the particular apparatus in theabove discussion. The particular apparatus is the one that is in thenetwork 2 and has information for identifying the network 2. If such anapparatus is set, a host name of the apparatus is described at the row.

Described at a next row <mac> is the MAC address of the gateway 1, whichis “00-00-00-00-00-00” in the block 15 as shown in FIG. 15. Returning tothe flow diagram illustrated in FIG. 13, the processor 94 uses thisinformation in the determination in step S114. More specifically, theMAC address at this row is listed, and the processor 94 determineswhether the MAC address to be processed at the point of time matches onein the listing. The number of matches is counted.

The content of the profile 53 is continuously discussed. An <ip> row,arranged in succession to the MAC address row in the block 105,describes the IP address. The IP address is “0.0.0.0” in the block 105shown in FIG. 15.

The <ip> row for the IP address is followed by an <ifType> row, wherethe type of an interface is described. Referring to FIG. 15, the<ifType> row contains “3” in the block 105. The type of the interface isrepresented in number. For example, the wired LAN is represented by 1,the modem is represented by 2, and the wired LAN is represented by 3.Referencing this information determines what interface the profile isrelated to.

The interface type row is followed by an <enable> row, where whether<networkInfo> described in the block 105 is enabled or not is described.This row typically provides 1 to indicate an enabled state.

The row indicating whether the <networkInfo> is enabled or not isfollowed by a <selectPriority> row, where information relating topriority is described. The <selectPriority> row indicates 1 in the block105 as shown in FIG. 15. The information provided here represents whichsearch key the user has selected. The search key is set by the user. Thesearch key indicates which information to use to identify the network,in other words, indicates which information to use in the search ofinformation in the profile 53.

When the user selects the wireless LAN (SSID), the search key is 1. Whenthe user selects the modem (connection name), the search key is 2. Whenthe user selects the MAC address, the search key is 3. When the userselects the IP address, the search key is 4.

The SSID, the connection name, the MAC address, and the IP address havetheir own features. The network switching is preferably performed takingadvantage of the features. For example, when the same service isprovided among a plurality of branch offices of a company, the same SSIDmay be set. The user simply recognizes the network with the same SSID ifthe user desires to receive the same service among different networks ofdifferent branch offices. In other words, the SSID may be set as asearch key.

If the MAC address is set as a search key, different networks ofdifferent branch offices are recognized as different networks. If such asetting is desired, the user may set the MAC address as a search key.

The search key is set to the user's own preference, and the setinformation is then placed at a <selectPriority> row. The setting of theinformation may be performed referencing a screen to be discussed later.

The above-referenced information is described in the profiles as theinformation relating to the network.

Returning to the flow diagram illustrated in FIG. 13, the processor 94determines in step S114 whether the held MAC address (to be processed)contained in the information is found in the listing. The informationhaving the MAC address set therewithin, namely, the information of the<selectPriority> having 3, is extracted from the listing as the searchkey.

The processor 94 determines whether the MAC address contained in theheld information matches the one described at the <mac> row in theextracted information. If the processor 94 determines in step S114 thatthe MAC address is not found in the listing, the algorithm proceeds tostep S115. The processor 94 determines in step S115 whether the IPaddress contained in the held information matches one in the listing.This determination is also performed in the same way as thedetermination of the MAC address in step S114.

For example, information with the <selectPriority> having 4 is extractedfrom the listing. It is then determined in step S115 whether the IPaddress contained in the held information matches the one described atthe <ip> row in the extracted information. If it is determined in stepS115 that the IP address in the held information is not found in thelisting, the algorithm proceeds to step S116.

It is then determined in step S116 whether the held information relatesto information concerning a particular apparatus, and that theinformation is found in the listing. As already discussed, theparticular apparatus is set up in a network 2 having no gateway 1therewithin to identify the network 2. The information may include theMAC address, the IP address, and the host name. Since it has alreadybeen determined that both MAC address and IP address in the heldinformation are not found in the listing, the processor 94 determines instep S116 whether the host name is used.

If the processor 94 determines in step S116 that the informationrelating to the particular apparatus is not found in the listing, thealgorithm proceeds to step S117. When the processor 94 determines upuntil now that the held information is not found in the listing, thenumber of matches of zero is set.

If the processor 94 determines in step S112 that the held informationrelates to the modem, the algorithm proceeds to step S118. The processor94 determines in step S118 whether the matching connection name is foundin the listing. First, information designating the RAS is extracted fromthe listing. The information designating the RAS is the information<selectPriority> having 2.

If the information <selectPriority> having 2 is found, that informationis extracted. The processor 94 determines whether the connection name tobe processed is found to match the one in the extracted information.With reference to the profile 53 illustrated in FIGS. 14 through 19, theinformation to be used in the determination is the block 107 in theprofile A (see FIG. 16), the block 113 in the profile B (see FIG. 17),and the block 119 in the profile C (see FIG. 19).

The blocks 107, 113, and 119 in the respective profiles thereof presentinformation, as a <rasEntry>, for modem connection. Since the profile Arelates to the wireless LAN, the <rasEntry> row in the block 107 is leftblank. Since the profile B relates to the wired LAN, the <rasEntry> rowin the block 113 is left blank.

In contrast, the block 119 in the profile C contain correspondinginformation. Since the profile C relates to the modem, the block 119contains the following information as the <rasEntry>.

The <rasEntry> row describes a connection name named by the user. Theblock 119 shown in FIG. 19 provides “So-net (dial-up).”

Information is provided at a next row of <enable> to indicate whether ornot the entry is valid. If the profile C relates to the modem (the<ifType> in the block 117 is 2 (indicating the modem), for example), andif the connection name is set, the entry is set to 1 as being valid. Ifthe profile is not related to the modem, or if the connection name isnot set, the entry is set to be zero as being not valid.

The process in step S118 is thus performed using these pieces ofinformation. If the processor 94 determines that the connection name tobe processed is not found in the listing, the algorithm proceeds to stepS114. The process in step S114 and subsequent steps has already beendiscussed.

If the processor 94 in step S118 determines that the connection name tobe processed is found in the listing, the algorithm proceeds to stepS120. Other processes performed prior to proceeding to step S120 arediscussed before the discussion of the process in step S120.

If the processor 94 in step S113 determines that the held information isrelated to the wireless LAN, the algorithm proceeds to step S119. Theprocessor 94 determines in step S119 whether the information of thewireless LAN (SSID) to be processed matches any information in thelisting. The process in step S119 is basically identical to that in stepS114 or step S118.

More specifically, information with the wireless LAN (SSID) settherewithin, namely, the information with the <selectPriority> set to 1is extracted from the listing as a search key.

The processor 94 determines whether the SSID contained in the heldinformation matches the one described at the <ssid> row in the extractedinformation. If the processor 94 determines in step S119 that no matchis found in the listing, the algorithm proceeds to step S114. Theprocess in step S114 and subsequent steps has already been discussed.

If the processor 94 determines in step S119 that the SSID contained inthe held information matches the one described in the listing, thealgorithm proceeds to step S120. If it is determined in step S118 thatthe connection name contained in the held information is found in thelisting, the algorithm also proceeds to step S120.

If it is determined in step S114 that the MAC address contained in theheld information is found to match the MAC address in the listing, thealgorithm also proceeds to step S120.

If it is determined in step S115 that the IP address contained in theheld information is found to match the IP address in the listing, thealgorithm also proceeds to step S120.

If it is determined in step S116 that the information relating to theparticular apparatus contained in the held information is found to matchthe information in the listing, the algorithm also proceeds to stepS120.

In this way, as long as part of the held information is found to matchthe information in the listing, the algorithm proceeds to step S120. Inother words, there is a possibility that the connected gateway 1 matchesthe gateway 1 registered in the profile 53.

The processor 94 determines in step S120 whether or not the number ofpieces of matching information is one. As already discussed, the MACaddress is able to uniquely identify the gateway 1, but the IP addressmay be assigned to a plurality of different gateways. The IP address isunable to uniquely identify the gateway 1.

A plurality of profiles of different networks having the same IP addressmay be stored in the listing. The processor 94 determines in step S120whether the number of pieces of matching information is one, in otherwords, determines in step S120 whether a single gateway 1 is identified.

If it is determined in step S120 that the number of pieces of matchinginformation is one, the number of matches is set to be one in step S121.If it is determined in step S120 that the number of pieces of matchinginformation is not one, the number of matches is set to be at least twoin step S122.

When the number of matches between the information to be processed andthe information in the listing is set in step S117, step S121, or stepS122, the algorithm proceeds to step S56 (see FIG. 8).

Information of candidate networks as a destination of network switchingis extracted in the process prior to step S56. A process to determine anactual destination network from among the candidate networks isperformed. The information acquired prior to step S56 is held in stepS56 before determining the actual destination network. A networkswitching process is continuously performed based on the informationacquired prior to step S56. But the acquired information is held in stepS56, and then the processor 94 undergoes step S14 (see FIG. 6).

The processor 94 determines in step S14 whether or not the count of thecounter 93 is zero. The same determination as the one to be performed instep S14 has been already performed in the flow diagram of theconnection switch determination process illustrated in FIG. 8. Asalready discussed with reference to FIG. 9, the process in steps S51 andS52 is performed to prevent consecutive network switching when thechange of networks is repeatedly detected.

The process in steps S51 and S52 is performed as part of the connectionswitch determination process. The process illustrated in FIG. 8 isperformed as the connection switch determination process in step S13 inthe flow diagram illustrated in FIG. 6.

While the connection switch determination process in step S13 isperformed, a change to a new network may be detected, a message 92 maybe transferred, and the count of the counter 93 may be incremented. Forthe same reason why the process in steps S51 and S52 discussed withreference to FIG. 9 is performed, the process in step S14 is alsoperformed. In other words, the process in step S14 is carried out not toconsecutively switch the networks.

If the counter 93 determines in step S14 that the count of the counter93 is not zero, the algorithm loops to step S13, and the subsequentprocess is repeated. A non-zero count of the counter 93 means that aconnection to a new network is detected during a relatively short periodof time of the process in step S13. The algorithm returns to step S13not to switch the network, and the same process is performed on thenewly detected network.

If it is determined in step S14 that the count of the message 92 iszero, in other words, if it is determined that no connection to a newnetwork is detected during the process until step S13, the algorithmproceeds to step S15.

The progress to step S15 means that a network switching process in stepS16 is to be performed. In a pre-process in step S15 before the networkswitching process, an immediately prior routing table is updated to aroute for a network to which the terminal 10 is switched in step S16.The immediately prior routing table is the one prior to the detection ofa change of the network as already discussed with reference to the flowdiagram of the process of the check 1 shown in FIG. 10.

When the updating of the immediately prior routing table is completed instep S15, the network switching process is performed in step S16. FIG.20 is a flow diagram illustrating in detail the network switchingprocess in step S16.

The processor 94 determines in step S141 whether the number of matchesheld in the process in step S56 is zero. If it is determined in stepS141 that the held information does not indicate zero, the processor 94determines in step S142 whether the held information indicates one.

If it is determined in step S142 that the held information indicates thenumber of matches of one, in other words, if a network is stored andfixed as a detected connection destination as a profile in the profile53, the algorithm proceeds to step S143.

The network switching process to the fixed network is performed in stepS143. In step S143, the processor 94 (see FIG. 5) in the switcher 51commands the profile manager 52 (see FIG. 3) to read the profile of thefixed network from the profile 53 stored in the storage 18.

In response to a command from the switcher 51, the profile manager 52reads the profile of the fixed network as the connection destinationfrom the profile 53. The processor 94 switches to the network as aconnection destination based on the read profile. The network switchingrefers to the establishment of the connection through which a service isenjoyed in the finally connected network.

For example, when the network is switched to the connection through themodem 21 illustrated in FIG. 2, the modem 21 is connected to the gateway1, and is further connected to the server of the ISP present beyond thegateway 1. The server of the ISP performs an authentication process. Theterminal 10 is thus connected into a state that allows the terminal 10to use the Internet through the server.

When the terminal 10 is switched to the modem 21 from the wireless LANinterface 19, a password for use in the authentication process is readin step S143. The password is then sent to the server of the ISP. Theconnection of the terminal 10 is established to the degree that theterminal 10 enjoys the service provided by the network.

If it is determined in step S142 that the held information does notindicate the number of matches of one, the algorithm proceeds to stepS144. If step S144 is reached, the held information indicates the numberof matches of at least 2, and a plurality of candidate networks aredetected as connection destinations. The processor 94 determines in stepS144 whether the plurality of detected candidate networks as theconnection destinations are prioritized.

The priority of the networks may be set by the user or by the OS.

If it is determined in step S144 that the candidate networks areprioritized, the algorithm proceeds to step S145. The priority of theplurality of candidate networks as the connection destinations ischecked in step S145. The network having the highest priority isextracted. If the network having the highest priority is extracted, thealgorithm proceeds to step S143.

The process in step S143 is performed on the network that is extractedas having the highest priority. The discussion of the process in stepS143 is not repeated here.

If it is determined in step S144 that the networks are not prioritized,the algorithm proceeds to step S146. In step S164, a selection screen ispresented. If step S146 is reached, the detected candidate networks asthe connection destinations are not prioritized, and the switcher 51 isunable to determine which network to perform the connection process on.The switcher 51 presents a screen on the display 61 to urge the user toselect a connection destination.

Referring to the presented screen, the user selects the network. Theselected network is thus set. The process in step S143 is performed onthe set network. The discussion of the process in step S143 is notrepeated here.

If it is determined in step S141 that the held information indicates thenumber of matches of zero, a profile relating to the network detected asthe connection destination is neither produced as the profile 53, andnor stored in the storage 18.

If it is determined in step S141 that the held information indicates thenumber of matches of zero, the algorithm proceeds to step S147. In theprocess in step S147 and subsequent steps, a new profile of a newlydetected network is produced. The processor 94 determines in step S147whether the production process of the new profile is set. The productionprocess of the new profile is set by the user.

For example, if the user walks in a street where hotspots areubiquitous, the terminal 10 may frequently detect networks of thehotspots, and may produce frequently new profiles. However, the user maydesire the network of a predetermined hotspot, and may not desire toregister all hotspots.

Producing profiles within a predetermined range, for example, within thepredetermined number, or within a predetermined place suffices for theuser. The user may desire to produce no further new profiles after theprofiles within the predetermined range have been produced.

A decision as to whether to produce a new profile is left to the user.The processor 94 determines in step S147 whether the decision to producethe new profile is set. If it is determined in step S147 that thedecision to produce the new profile is not set, the user neither desiresthe production of the new profile, and nor desires the connection to thenew network. Without performing the network switching process, theprocessor 94 ends the process.

If it is determined in step S147 that the decision to produce the newprofile is set, the algorithm proceeds to step S148. The production of aprofile relating to the newly detected network starts. The productionprocess of the new profile in step S148 will be discussed with referenceto a flow diagram illustrated in FIG. 21.

The profile produced as a result of the production process of the newprofile in step S148 is used in the above-referenced process from thenext time. When the process in step S148 is completed, the algorithmproceeds to step S143. The network switching process is performed toswitch to the network the profile of which has been produced. Thediscussion of the process in step S143 is not repeated here.

The production process of the profile performed in step S148 isdiscussed with reference to the flow diagram illustrated in FIG. 21.This production process is performed by the profile manager 52. In stepS161, the profile manager 52 presents, on the display 61 of the terminal10, a start screen which allows the user to recognize the start of theprofile production for a new network. FIG. 22 illustrates an example ofthe start screen presented on the display 61 for letting the user knowthe start of the profile production of the new network.

A network unregistered in the profile 53 is detected before the startscreen shown in FIG. 22 notifying the user of the start of the profileproduction is presented. Alternatively, a screen asking a question ofwhether to produce a profile of that network may be presented beforestarting the production of the new profile, and when a command in replyto the question is given, the start screen illustrated in FIG. 22 may bepresented.

The screen illustrated in FIG. 22 displays a text to allow the user torecognize the start of the production of the new profile. Shown belowthe text are a “back” button 101, a “next” button 102, a “cancel” button103, and a “help” button 104.

The back button 101 is operated to return to a preceding screen. Sincethe start screen illustrated in FIG. 22 has no preceding screen, theback button 101 is disabled. The next button 102 is operated to proceedto a next screen. The cancel button 103 is operated to quit theproduction process of the new profile. The help button 104 is operatedto clarify a question concerning the production process.

When the next button 102 is operated on the screen illustrated in FIG.22, the algorithm proceeds to step S162 (see FIG. 21). Basic informationis presented in step S162. FIG. 23 illustrates an example of the screenshowing the basic information. Currently acquired information relatingto the network is presented on the screen illustrated in FIG. 23.

An interface name box 111 labeling the name of an interface appears onthe screen. The interface name box 111 shows the name of the interfaceof the terminal 10 then connected to the network. The content in thisbox cannot be modified by the user, and is described at the <ifName> rowin the profile 53. For example, the profile 53 corresponding to thescreen of FIG. 23 is described at corresponding row in the block 111 inthe profile B illustrated in FIG. 16.

Arranged below the interface name box 111 is a search key settingsection for automatic switching as shown in FIG. 23. The search key hasalready been discussed with reference to the flow diagram illustrated inFIG. 13. The search key is used to search the profile 53 for the profileof the connected network.

The search key setting section for the automatic switching includes aradio button 112 which is enabled during the connection through themodem, a modem information box 113 which shows information of the modem,a radio button 114 which is enabled during the connection through thewireless LAN, a wireless LAN information box 115 which shows informationof the wireless LAN, a radio button 116 which is enabled during theacquisition of a physical address of the gateway (the MAC address), anMAC address box 117 which shows the MAC address, a radio button 118which is enabled during the acquisition of the IP address of thegateway, and an IP address box 119 which shows the IP address.

The radio button 112 is enabled only when the modem connection isactive. The radio button 112 is disabled in FIG. 23 because the modemconnection is not active. The modem information box 113 displays theconnection name of the network connected through the modem only when themodem connection is active.

The content displayed at the modem information box 113 is provided onthe <rasName> row in the profile 53. In the screen illustrated in FIG.23, the modem information box 113 is disabled providing no informationbecause the modem connection is not active. When the modem informationbox 113 is enabled with the modem connection active, the connection namecorresponding to the block 119 of the profile C illustrated in FIG. 19is provided there.

The radio button 114 is enabled only when the connection through thewireless LAN is carried out. Since the connection is not establishedthrough the wireless LAN in the screen illustrated in FIG. 23, the radiobutton 114 is disabled. The wireless LAN information box 115 shows theSSID of the wireless LAN only when the connection is established throughthe wireless LAN.

The content displayed at the wireless LAN information box 115 is alsodisplayed at the <ssid> row in the profile 53. The input/outputinterface 15 is disabled presenting no content because the connection isestablished not through the wireless LAN. When the wireless LANinformation box 115 is enabled with the connection established throughthe wireless LAN, the SSID presented on the corresponding row in theblock 105 of the profile A shown in FIG. 15 is described.

The radio button 116 and the radio button 118 are enabled when the MACaddress and the IP address are acquired, respectively. The MAC addressbox 117 of the gateway shows the MAC address, and the IP address box 119shows the IP address.

The MAC address shown in the MAC address box 117 is provided at the<mac> row in the profile 53, and the IP address shown in the IP addressbox 119 is provided at the <ip> row in the profile 53. The profile 53corresponding to the screen shown in FIG. 23 is described atcorresponding rows in the block 111 of the profile B illustrated in FIG.16.

The items shown in the modem information box 113, the wireless LANinformation box 115, the MAC address box 117, and the IP address box 119cannot be modified by the user.

The screen of the basic information shown in FIG. 23 provides only thethen acquired information of the network. In other words, informationthen not acquired (information not needed) is not displayed. Inprinciple, there is no need for the user to modify the content displayedon the screen. The user simply recognizes the displayed information, andpresses the next button 102.

Since the automatic switching search key is set at the MAC address asshown in FIG. 12, the MAC address radio button 116 only is on. Thesearch key is modified up to the user's preference. To use a buttonother than for the MAC address, the user selects a desired button fromwithin the enabled button. A desired search key setting is performed.

The information relating to the search key set in the automaticswitching search key section (relating to the selected radio button) isprovided at the <selectPriority> row in the profile 53. The profile 53corresponding to the screen shown in FIG. 23 is described at thecorresponding row in the block 111 of the profile B illustrated in FIG.16. The <selectPriority> row in the block 111 provides the number “3”and the number “3” means that the MAC address is set as the search key.

Referencing the screen illustrated in FIG. 23, the user sets a desiredkey, and operates the next button 102. Then, the algorithm proceeds tostep S163. Proxy information is presented. FIGS. 24 and 25 show examplesof the screen provided on the display 61 in step S163. FIG. 24 shows theexample of the screen that is provided on the display 61 when theterminal 10 is connected to the network through one of the wireless LANand the wired LAN. FIG. 25 shows the example of the screen that isprovided on the display 61 when the terminal 10 is connected to thenetwork through the modem.

The information the user sets referencing one of the screens illustratedin FIGS. 24 and 25 is described in the profile 53, for example, in theblock 106 of the profile A illustrated in FIG. 15. The block 106contains information relating to an <IOproxy>, namely, informationrelating to the setting of a proxy of an Internet option.

A server name of a hypertext transfer protocol (HTTP) proxy is describedat a <serverHttp/> row. A sever name of a file transfer protocol (FTP)is described at a <serverFtp/> row. A server name of a secure proxy isdescribed at a <serverSecure/> row. A server name of a Gopher isdescribed at a <serverGopher/> row. A server name of Stocks is describedat a <serverStocks/>.

As shown in FIG. 24, a proxy server section 122 is used to setinformation relating to a proxy server. Information from the<serverHttp/> row to the <serverStock/> row is set in another settingscreen (not shown) on another window by operating a detail settingbutton 123 arranged in the proxy server section 122.

An address of a network accessed without using a proxy is described at a<bypassSevers/> row. Information (a script name) indicating the locationof an automatic configuration script is described at a<serverAutoconfig/> row. Information relating to the setting as towhether to automatically detect a setting detected is described at a<autoDiscovery/> row. Information relating to the setting as to whetherto use the automatic configuration script is described at an<autoConfig> row.

The information from the <serverAutoconfig/> to the <autoConfig> is setin the proxy server section 122 shown in FIG. 24 which is used to setinformation relating to the automatic configuration.

Information relating to the setting as to whether to use the proxy isdescribed at a <useProxy> row. Information relating to the setting as towhether to use the same proxy to all protocols is described at a<sameName> row. Information relating to the setting as to whether to usethe proxy in a local address is described at a <bypassLocal> row.

The information from the <useProxy> row through the <bypassLocal> row isset in the proxy server section 122 used to set the information of theproxy server as shown in FIG. 24.

Information indicating whether the IOproxy is valid or invalid isdescribed at an <enable> row. A port number of a HTTP proxy is describedat a <portHttp> row.

A port number of an FTP proxy is described at a <portFtp> row.

A port number of a secure proxy is described at a <portSecure> row.

A port number of a gopher proxy is described at a <portGopher> row.

A port number of stocks is described at a <portStocks> row.

As shown in FIG. 24, a proxy server section 122 is used to setinformation relating to a proxy server. Information from the <portHttp>row to the <portStocks> row is set in another setting screen (not shown)on another window by operating the detail setting button 123 arranged inthe proxy server section 122.

If the user operates the next button 102 in one of the screensillustrated in FIGS. 24 and 25, the algorithm proceeds to step S164 inthe flow diagram illustrated in FIG. 21. In step S164, the display 61presents a screen for setting a process subsequent to the completion ofthe network switching process. The completion of the network switchingprocess means the completion of the process in step S143 in the flowdiagram illustrated in FIG. 20.

The user may usually start a software program for chatting when theterminal 10 is connected to a predetermined network. The terminal 10 maybe set to automatically execute the startup of the chatting program withthe network. A screen for setting such a startup may be presented on thedisplay 61 in step S164.

FIG. 26 illustrates an example of the screen which is presented on thedisplay 61 in step S164. As shown, a predetermined software program isregistered. When the connection to the network is completed in step S143(see FIG. 20), the registered software program is started.

A software display section 131 for displaying a registered softwareprogram is presented in the screen illustrated in FIG. 26. Presentedbelow the software display section 131 are a recommendable button 132that is operated to register an already set favorite software program,an add button 133 that is operated to register a new software program, amodify button 134 that is operated to modify the setting relating to thealready registered software, and an erase button 135 that is operated toerase an already registered software.

When the recommendable button 132 is operated, a screen shown in FIG. 27appears on the display 61. Voice and wallpaper are set in the screenillustrated in FIG. 27.

When one of the add button 133 and the modify button 134 is operated, ascreen illustrated in FIG. 28 appears on the display 61 as shown in FIG.28. If the add button 133 is used, each section is blanked as shown inFIG. 28. If the modify button 134 is used, each section presents settingto a software program to which software change is intended.

A <postProcess> block in the profile 53 provides information relating tothe setting of the software that is set by operating items on the screenshown in FIG. 26. For example, the information is described in the block104 of the profile A as shown in FIG. 14. A <path> row describes a pathof the software displayed in the software display section 131 on thescreen illustrated in FIG. 26.

An option at a command line is described at an <option/> row. Theinformation described at the <option/> row is the one described at anoption at startup section on the screen shown in FIG. 28. A workingdirectory at the startup is described at a <workDir/> row. Theinformation described at this row is the one described at a workingfolder section on the screen shown in FIG. 28.

A name of the software is described at a <programName/> row. A<waitProcEnd> row describes information relating to the setting as towhether or not to start a next software program. The informationdescribed at this row is “1” when a check button of a comment reading“no next software is started until end” is checked on the screen shownin FIG. 28. The information described at this row is “0” when a checkbutton of a comment reading “no next software is started until end” isnot checked on the screen shown in FIG. 28.

An <enable> row describes information indicating whether an entry forthe <postProcess> is valid or invalid. These pieces of information areinput on a per software program basis. The block 104 shown in FIG. 14shows that two software programs are set.

When the next button 102 is operated on the screen shown in FIG. 26, thealgorithm proceeds to step S165 (see FIG. 21). A profile setting screenis presented on the display 61. FIG. 29 illustrates an example of thescreen that is presented on the display 61 in step S165.

On the screen illustrated in FIG. 29, the produced profiled is named,and a display of a message notifying the user of networks before andafter a network switching is set. A location and a connection method, asattributes, are selected. The location and the connection method areselected using a pull-down menu. A desired item may be selected from thepull-down menu.

The profile name is generated based on the location and the connectionmethod selected from the pull-down menu. The user may also input aprofile name. In a setting of notice window section, the user makes thesetting of whether or not to display a message during a networkswitching and subsequent to the network switching.

The information set in the screen illustrated in FIG. 29 is described ina <profileInfo> block, namely, the block 103 of the profile Aillustrated in FIG. 14, for example. A <profileName> row describes aprofile name provided by the user (information displayed at a “profilename” box in FIG. 29).

A <place> row describes a location selected by the user (informationselected from the pull-down menu at the “location” box in the attributesection as shown in FIG. 29). A <method> row describes a connectionmethod selected by the user (information selected from the pull-downmenu at the “connection method” box in the attribute section shown inFIG. 29). A <description> row describes a comment provided by the user(information written in the comment box shown in FIG. 29).

A <confirmBefore> row sets the value “1” if a check box for a commentreading “Setting is displayed and confirmed before switching” is checkedin FIG. 29. A <confirmAutoClose> row sets the value “1” if a check boxfor a comment reading “Automatic closing” arranged below the commentreading “Setting is displayed and confirmed before switching” ischecked.

A <notifyAfter> row sets the value “1” if a check box for a commentreading “Notification is performed after switching” is checked in FIG.29. A <notifyAutoClose> row sets the value “1” if a comment reading“Automatic closing” arranged below the comment reading “Notification isperformed after switching” is checked in FIG. 29.

An <enable> row describes information indicating whether the entry forthe <profileInfo> is valid or invalid, and typically sets the value “1”indicating valid information.

When the next button 102 is operated on the screen illustrated in FIG.29, the algorithm proceeds to step S166 (see FIG. 21). A screennotifying the user of the end of the production process of the newprofile is presented on the display 61. FIG. 30 illustrates an exampleof the screen which is presented on the display 61 in step S166.

The ending screen illustrated in FIG. 30 allows the user to recognizethe end of the production process of the new profile with a text. Whenthe user operates an end button 151 on the screen illustrated in FIG.30, the production process of the new profile ends.

The profile thus produced is stored in the storage 18 as the profile 53.From the next time on, the network switching process is performed takinginto consideration that profile.

The terminal 10 automatically switches from one network to another amonga plurality of networks. Without being aware of the network switchingprocess, the user maintains an appropriate network connection. The easeof use of the terminal 10 connected to the plurality of networks is thusassured.

The above series of processes is performed using hardware elementshaving the functions thereof. Alternatively, the above series ofprocesses may be performed using software. If the processes areperformed using software, a program of the software may be installedfrom a recording medium in a computer built in dedicated hardware or ina general-purpose personal computer that performs a variety of functionswith a variety of programs installed therein.

As shown in FIG. 2, the recording medium may be not only a packagemedium distributed to supply the user with the program, separate fromthe personal computer (the terminal 10) shown in FIG. 2, such as one ofthe magnetic disk 31 (including a flexible disk), the optical disk 32(including CD-ROM (Compact Disk-Read Only Memory), and DVD (DigitalVersatile Disk)), the magnetooptical disk 33 (including an MD(Mini-Disk) (tradename)), and the semiconductor memory 34, each storingthe program, but also one of the ROM 12 and the storage 18, each storingthe program, supplied in the personal computer to the user.

In the specification of the present invention, the steps describing theprogram stored in the recording medium may be performed sequentially asdescribed in time axis. But the steps are not necessarily sequentiallyperformed in time axis, and may be performed in parallel or separately.

The system in the specification of the present invention refers to theone including a plurality of apparatuses.

In accordance with the embodiments of the present invention, the networkswitching process is easily performed.

Even when the network switching frequently occurs, an appropriatenetwork connection is maintained with the network connection stabilityassured.

1. An information processing apparatus having an interface forconnection with networks, the information processing apparatuscomprising: managing means for managing settings for connectablenetworks as profiles on a network by network basis; detecting means fordetecting a first phase connection to a detected network; means forjudging whether the detected network has actually changed from a firstset of physical devices to a second set of physical devices, said firstset of physical devices having at least one physical device not incommon with the second set of physical devices; determination means fordetermining whether the managing means manages a managed profilecorresponding to the detected network when the means for judging judgesthat the detected network has actually changed; and establishing meansfor automatically establishing a second phase connection to the detectednetwork based on the managed profile if the determination meansdetermines that the managing means manages the managed profilecorresponding to the detected network, said establishing means includinga switcher configured to switch access to the detected network using thefirst phase connection and the second phase connection when apredetermined condition is determined to exist, and said switcherincludes an icon display mechanism configured to produce an icon on adisplay that notifies a user that the switcher is an active process. 2.The information processing apparatus according to claim 1, wherein thedetecting means detects the first phase connection to the detectednetwork by determining whether or not a routing table is modified. 3.The information processing apparatus according to claim 1, wherein thedetecting means detects, as the first phase connection, a connection toa detected gateway that manages a network, wherein the determinationmeans determines whether the managing means manages a profile relatingto the detected gateway, and wherein the establishing means establishesthe second phase connection to the detected gateway in accordance withthe managed profile relating to the detected gateway.
 4. The informationprocessing apparatus according to claim 3, wherein said detecting meansdetects, as said first phase connection, plural connections to pluralgateways, and said establishing means automatically establishes saidsecond phase connection to the gateway which has a lowest value of ametric of the managed profile.
 5. The information processing apparatusaccording to claim 1, further comprising: counter means for counting upby one when the detecting means detects the first phase connection tothe detected network, and zero determination means that determineswhether a subtracting of one from the count of the counter means makeszero when the detecting means detects the first phase connection to thedetected network, wherein the zero determination means determineswhether the managing means manages the managed profile relating to thedetected network detected by the detecting means when the zerodetermination means determines that subtracting of one from the count ofthe counter means makes zero, wherein the establishing means establishesthe second phase connection to the detected network in accordance withthe managed profile relating to the detected network while the zerodetermination means determines that the subtracting of one from thecount of the counter means makes zero.
 6. The information processingapparatus according to claim 1, wherein, using at least one of an SSID,an MAC address, an IP address, and a connection name provided by theuser, the determination means determines whether the managing meansmanages the managed profile, relating to the detected network detectedby the detecting means.
 7. The information processing apparatusaccording to claim 1, wherein if the interface of the detected networkis one of a wired LAN interface and a wireless LAN interface, the firstphase connection is a connection to a gateway that manages the detectednetwork, and the second phase connection is a connection to anotherapparatus through the gateway, and wherein if the interface of thedetected network is a modem, the first phase connection is a connectionto an ISP, and the second phase connection is a connection to anotherapparatus through the ISP.
 8. The information processing apparatusaccording to claim 1, further comprising starter means whichautomatically starts a predetermined software application set by a userwhen the second phase connection to the network is established by theestablishing means.
 9. An information processing method for aninformation processing apparatus having an interface for connection withnetworks, the information processing method comprising: a managing stepfor managing settings for connectable networks as profiles on a networkby network basis; a detecting step for detecting a first phaseconnection to a detected network; judging with a processor whether thedetected network has actually changed from a first set of physicaldevices to a second set of physical devices, said first set of physicaldevices having at least one physical device not in common with thesecond set of physical devices; a determination step for determiningwhether a managed profile corresponding to the detected network ismanaged in the managing step when in the judging step it is judged thatthe detected network has actually changed; and an establishing step forautomatically establishing a second phase connection to the detectednetwork based on the managed profile if the determination stepdetermines that the managed profile corresponding to the detectednetwork is managed in the managing step, said establishing stepincluding activation of a switcher configured to switch access to thedetected network from the first phase connection to the second phaseconnection when a predetermined condition is determined to exist, andsaid switcher includes an icon display mechanism configured to producean icon on a display that notifies a user that the switcher is an activeprocess.
 10. A non-transitory computer program product having computerreadable instructions that when executed on a computer controls aninformation processing apparatus having an interface for connection withnetworks, and performs steps comprising: a managing step for managingsettings for connectable networks as profiles on a network by networkbasis; a detecting step for detecting a first phase connection to adetected network; judging with a processor whether the detected networkhas actually changed from a first set of physical devices to a secondset of physical devices, said first set of physical devices having atleast one physical device not in common with the second set of physicaldevices; a determination step for determining whether a managed profilecorresponding to the detected network is managed in the managing stepwhen in the judging step it is judged that the detected network hasactually changed; and an establishing step for automaticallyestablishing a second phase connection to the detected network based onthe managed profile if the determination step determines that themanaged profile corresponding to the detected network is managed in themanaging step, said establishing step including activation of a switcherconfigured to switch access to the detected network from the first phaseconnection to the second phase connection when a predetermined conditionis determined to exist, and said switcher includes an icon displaymechanism configured to produce an icon on a display that notifies auser that the switcher is an active process.
 11. An informationprocessing apparatus having an interface for connection with networks,the information processing apparatus comprising: a managing mechanismconfigured to manage settings for connectable networks as profiles on anetwork-by-network basis; a detector configured to detect a first phaseconnection to a detected network; a processor programmed to judgewhether the detected network has actually changed from a first set ofphysical devices to a second set of physical devices, said first set ofphysical devices having at least one physical device not in common withthe second set of physical devices; a determination mechanism configuredto determine whether the managing mechanism manages a managed profilecorresponding to the detected network when the processor judges that thedetected network has actually changed; and a connector configured toautomatically establish a second phase connection to the detectednetwork based on the managed profile if the determination mechanismdetermines that the managing mechanism manages the managed profilecorresponding to the detected network, said connector including aswitcher configured to switch access to the detected network from thefirst phase connection to the second phase connection when apredetermined condition is determined to exist, and said switcherincludes an icon display mechanism configured to produce an icon on adisplay that notifies a user that the switcher is an active process.